<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<!--
  1. 父组件访问子组件：使用$children或$refs
      - this.$children是一个数组类型，它包含了所有的子组件对象
      
  2. 子组件访问父组件：使用$parent
-->
<div id="app">
  <cpn></cpn>
  <cpn></cpn>
  <cpn ref="aaa"></cpn>
  <button @click="btnClick">按钮</button>
</div>

<template id="cpn">
  <div>
    我是子组件
  </div>
</template>

<script src="../js/vue.js"></script>
<script>
  const app=new Vue({
    el: '#app',
    data: {
      message: '你好'
    },
    methods:{
      btnClick(){
        // 1. 方法一：$children
        /*console.log(this.$children); // 返回三个子组件对象
        for(let c of this.$children){
         c.showMessage();
          console.log(c.name);
        }*/
        
      //  2. 方法二：$refs => 默认是一个空的对象，必须在组件上加 ref=''
        console.log(this.$refs.aaa.name);
        this.$refs.aaa.showMessage();
      }
    },
    components:{
      cpn:{
        template:'#cpn',
        data(){
          return{
            name:'我是子组件里的name'
          }
        },
        methods:{
          showMessage(){
            console.log('showMessage');
          }
        }
      }
    }
  })

</script>
</body>
</html>